package sv.gob.mh.dgii.model;

// Generated Dec 12, 2007 1:25:05 PM by Hibernate Tools 3.2.0.CR1

import java.util.Date;
import java.util.HashSet;
import java.util.Set;
import javax.persistence.AttributeOverride;
import javax.persistence.AttributeOverrides;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.EmbeddedId;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * DvAcuerdExpor generated by hbm2java
 */
@Entity
@Table(name = "DV_ACUERD_EXPOR", schema = "DEVOLUCIONES")
public class DvAcuerdExpor implements java.io.Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 7951287994261748841L;
	private DvAcuerdExporId id;
	private RcRuc rcRuc;
	private Date facuerdoExp;
	private Integer ndiarioOficial;
	private Integer ntomoDiarioOfic;
	private Date fpubDiarioOfic;
	private String cusuario;
	private Date fhingreso;
	private Date fhmodificacion;
	private String cactEco;
	private Set<DvAcuerdProd> dvAcuerdProds = new HashSet<DvAcuerdProd>(0);

	public DvAcuerdExpor() {
	}

	public DvAcuerdExpor(DvAcuerdExporId id, RcRuc rcRuc) {
		this.id = id;
		this.rcRuc = rcRuc;
	}

	public DvAcuerdExpor(DvAcuerdExporId id, RcRuc rcRuc, Date facuerdoExp,
			Integer ndiarioOficial, Integer ntomoDiarioOfic,
			Date fpubDiarioOfic, String cusuario, Date fhingreso,
			Date fhmodificacion, String cactEco, Set<DvAcuerdProd> dvAcuerdProds) {
		this.id = id;
		this.rcRuc = rcRuc;
		this.facuerdoExp = facuerdoExp;
		this.ndiarioOficial = ndiarioOficial;
		this.ntomoDiarioOfic = ntomoDiarioOfic;
		this.fpubDiarioOfic = fpubDiarioOfic;
		this.cusuario = cusuario;
		this.fhingreso = fhingreso;
		this.fhmodificacion = fhmodificacion;
		this.cactEco = cactEco;
		this.dvAcuerdProds = dvAcuerdProds;
	}

	@EmbeddedId
	@AttributeOverrides( {
			@AttributeOverride(name = "nit", column = @Column(name = "NIT", nullable = false, length = 14)),
			@AttributeOverride(name = "nacuerdoExp", column = @Column(name = "N_ACUERDO_EXP", nullable = false, precision = 5, scale = 0)) })
	public DvAcuerdExporId getId() {
		return this.id;
	}

	public void setId(DvAcuerdExporId id) {
		this.id = id;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "NIT", nullable = false, insertable = false, updatable = false)
	public RcRuc getRcRuc() {
		return this.rcRuc;
	}

	public void setRcRuc(RcRuc rcRuc) {
		this.rcRuc = rcRuc;
	}

	@Temporal(TemporalType.DATE)
	@Column(name = "F_ACUERDO_EXP", length = 7)
	public Date getFacuerdoExp() {
		return this.facuerdoExp;
	}

	public void setFacuerdoExp(Date facuerdoExp) {
		this.facuerdoExp = facuerdoExp;
	}

	@Column(name = "N_DIARIO_OFICIAL", precision = 5, scale = 0)
	public Integer getNdiarioOficial() {
		return this.ndiarioOficial;
	}

	public void setNdiarioOficial(Integer ndiarioOficial) {
		this.ndiarioOficial = ndiarioOficial;
	}

	@Column(name = "N_TOMO_DIARIO_OFIC", precision = 5, scale = 0)
	public Integer getNtomoDiarioOfic() {
		return this.ntomoDiarioOfic;
	}

	public void setNtomoDiarioOfic(Integer ntomoDiarioOfic) {
		this.ntomoDiarioOfic = ntomoDiarioOfic;
	}

	@Temporal(TemporalType.DATE)
	@Column(name = "F_PUB_DIARIO_OFIC", length = 7)
	public Date getFpubDiarioOfic() {
		return this.fpubDiarioOfic;
	}

	public void setFpubDiarioOfic(Date fpubDiarioOfic) {
		this.fpubDiarioOfic = fpubDiarioOfic;
	}

	@Column(name = "C_USUARIO", length = 30)
	public String getCusuario() {
		return this.cusuario;
	}

	public void setCusuario(String cusuario) {
		this.cusuario = cusuario;
	}

	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "FH_INGRESO", length = 7)
	public Date getFhingreso() {
		return this.fhingreso;
	}

	public void setFhingreso(Date fhingreso) {
		this.fhingreso = fhingreso;
	}

	@Temporal(TemporalType.DATE)
	@Column(name = "FH_MODIFICACION", length = 7)
	public Date getFhmodificacion() {
		return this.fhmodificacion;
	}

	public void setFhmodificacion(Date fhmodificacion) {
		this.fhmodificacion = fhmodificacion;
	}

	@Column(name = "C_ACT_ECO", length = 6)
	public String getCactEco() {
		return this.cactEco;
	}

	public void setCactEco(String cactEco) {
		this.cactEco = cactEco;
	}

	@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "dvAcuerdExpor")
	public Set<DvAcuerdProd> getDvAcuerdProds() {
		return this.dvAcuerdProds;
	}

	public void setDvAcuerdProds(Set<DvAcuerdProd> dvAcuerdProds) {
		this.dvAcuerdProds = dvAcuerdProds;
	}

}
